# The Possibly Open Source License 3.1

## What?

The POSS license takes an alternate approach on open-source, taking into
consideration the current political state and the state of the programming
industry. (**read as venture capital**)
Furthermore, focus is put on attribution and fair-usage of code in which others
must publish their changes to the code base, although personal changes and experimenting with code is fully allowed and are exempt from this rule.

## Why?

In the 21st century we have managed to devolve further down the shitter and have
managed to put politics into everything, including the software we make.
Most new licenses (and Code of Conducts) seem to enforce how we eat and breathe
instead of focusing on basic etiquette and that some words clearly are `[insert negative connotation here]` because they said so.

If salad and egg emojis are somehow offensive, then clearly we don't deserve to be
this technologically advanced.

## Differences over other Licenses

    · Much less scary looking text.
    · Addresses 2 annoying birds with a single stone.
    · Includes the "Not My Problem™" clause.
    · This license is irrevocable.
    · Allows for use of other licenses while maintaining the clause of this license.
    · Uses Common Sense.
    	Since you still don't have that.

### Differences over POSS v2

    · Added requirement of explicitly stating the CoC used.
    · Improve the language used.
    · Renamed the "Anti-Woke takeover" clause to the "Not My Problem™" clause
    · Added a ALL_CHANGES_PUBLIC akin to other licenses, i.e. AGPL
    · Clarified license changes and handling other licenses.
    · Clarified license revocation.

### Differences over POSS v3.0

    · Improved language and readability.
    · More readable thanks to Markdown version.

## License details

### License revocation

This license under NO circumstances can be revoked and all code licensed and formally licensed under the POSS license must use said license.
**However**, code using previous versions of POSS may upgrade their license to this version once and cannot return to the older version.

### Re-licensing

This license **CANNOT** be switched with another license, or re-licensed into another license. The POSS license ONLY allows the license
to be upgraded to a newer version of the license.

### Bi-licensing/Co-licensing

This license **CAN** be used with other licenses as long as those licenses are included within the source code. **However**, the POSS license
takes priority over other licenses.

## License design

As this license takes a different approach to open-source and licenses, the license presents itself in a much
easier to understand format and puts the main focal points of the license within a simple table with explanations
for each component.

## License conditions

#### Important!

Once you set the conditions for your project, you cannot change these conditions!
Furthermore, if placeholders like `[YES/NO]` are present in the table then consider the license invalid.
The value of these placeholders can be placed in the `README.md` file of source-code repos, this is **ALLOWED**.

### Main categories.

| Category          | Permitted? |
| ----------------- | ---------- |
| BASE              | YES        |
| SOFTWARE_OS       | [YES/NO]   |
| SOFTWARE_PAID     | [YES/NO]   |
| SOFTWARE_3P_STUFF | [YES/NO]   |
| SOFTWARE_WARRANTY | NO         |

### Additional categories

| Category            | Permitted?           |
| ------------------- | -------------------- |
| ENFORCE_TRUE_OSS    | [YES/NO]             |
| ALLOW_PAID_FREE     | [YES/NO]             |
| ALL_RIGHTS_RESERVED | [YES/NO]             |
| COC_VERSION         | [NONE/1.0/2.0/OTHER] |
| ALL_CHANGES_PUBLIC  | [YES/NO]             |

## License conditions: explanation

| Category            | Explanation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| BASE                | You, the user, are freely allowed to use, modify, derive and fork this code, unless stated otherwise. <br /> You, the user, MUST refer to the license table given in the software. <br /> The original owner and all contributors will always retain attribution rights, no matter what. The original owner can also decide to keep all usage rights, even usage rights. <br />(Check ALL_RIGHTS_RESERVED if this is the case for this codebase)<br />This license defaults to the CoC 2.0, if it decides to include this CoC and unless mentioned otherwise.<br />(Check the COC_VERSION for the version, if it is not present, assume 2.0)                                                                                                                                                                                                                                                                 |
| SOFTWARE_OS         | The license has a strict term on making OSS (Open Source Software) into closed source software. <br />If the condition is YES: <br /><br />Adding closed-source blobs is perfectly fine, as long it is disclosed that it includes them. <br /> ! Software marked with `ENFORCE_TRUE_OSS`: <br /> Requires **ALL** parts of it to be open, this includes blobs. If the software is open-source and you wish to make it closed-source, this license prohibits that. If the software is closed-source and you wish to make it open-source, then you can, although you cannot go back. <br /> Closed-source blobs are exempt from this rule. <br /> ! Software marked with `ENFORCE_TRUE_OSS`: Blobs MUST be made open-source too, or must not be included. <br /> <br /> Otherwise if the condition is NO, then the license treats it as a "view/analysis/research/use" only, meaning no republishing can made. |
| SOFTWARE_PAID       | The license has strict enforcement on paid and free software definitions too. <br /> <br /> ! ENFORCE_TRUE_OSS: The software must be free as in beer, no-buts. <br /> - If the condition is YES: (and the software IS NOT a fork) <br /> You are allowed by the license to make the software paid, you should still include this license. <br /> - If the condition is YES: (and the software IS a fork) <br /> It depends the on the fork, if it has been paid for already, then see above. <br /> However, if it is **NOT** paid, then you are forbidden from reselling this product. <br /> <br /> Otherwise if the condition is NO: <br /> Then it is free as in beer, even if forked or modified, you **CANNOT** make this product/software paid.                                                                                                                                                       |
| SOFTWARE_3P_STUFF   | This license has laid back enforcement of attribution to third-party libraries. <br /> Marking `YES` or `NO` will only act as a visual indicator to the end-user that other libraries were used in the product or software.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| SOFTWARE_WARRANTY   | This license DOES NOT support or provide any warranty. It has so little warranty that here's some scary looking legal text to prove it. <br /> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                                                                                                                                                                                                                                                                                                       |
| ENFORCE_TRUE_OSS    | - If the condition is YES: <br /> This license forces ALL components of the source-code to be open-source, including any sub-components or blobs. <br /> ! Check above definitions for any extra conditions when `ENFORCE_TRUE_OSS` is set to YES.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ALLOW_PAID_FREE     | - If the condition is YES: <br /> The owner has made this paid software free to use. <br /> ! The owner MUST have the correct rights in order to republish said software.<br /> The `SOFTWARE_PAID` field **MUST** be changed to `YES (ORIGINAL)`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ALL_RIGHTS_RESERVED | - If the condition is YES: <br /> The owner retains all rights to the code. <br /> The owner may reserve to use his/her rights at ANY point in time. <br /> <br /> - If the condition is NO: <br /> The owner doesn't retain all rights to their code...that's about it.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| COC_VERSION         | - This provides the versioning of the CoC used, allowed values are `NONE`, `OTHER`, `1.0` and `2.0`. <br /> ! If OTHER is used then the CoC used MUST be stated. <br /> <br /> "Not My Problem™" Clause Only <br /> ! If there was a previous CoC used, **DO NOT** use the previous one.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ALL_CHANGES_PUBLIC  | - If the condition is YES: <br /> **ALL** changes **MUST** be public and accessible to anyone. <br /> <br /> - If the condition is NO: <br /> Changes **DO NOT** need to public and accessible to anyone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

## Code of Conducts

### Common Sense Code of Conduct - Version 1.0

```
The Common Sense Code of Conduct
- Don't be an asshole.
- Sometimes you need to be called out for your shit.
- Old terminology doesn't need to be replaced.
- Code != Politics
- No fun allowed :)
```

### Common Sense Code of Conduct - Version 2.0

```
The Common Sense Code of Conduct
- You can be called out for code quality or other reasons.
- Old terminology does not need any replacement.
- Fun is fun, but is it allowed?
- You shouldn't be an asshole, however, sometimes it is justified.
```

## Issues and FAQs:

None

## Clarifications:

```
(1) The usage conditions of the POSS license:

"The POSS license allows You, the user, to freely use, modify, edit, derive code and software from POSS licensed software."

This statement is valid even with ALL_RIGHTS_RESERVED, except unless stated otherwise by the owner.

The license table should still be referred to as specific usage conditions may still apply.
(i.e, The modified code MUST be published or that the software MUST be free to use)

-> This clarification was applied to version 3.0.1.
```
